package com.hunit.mqtt_dome.service;

/**
 * @Description : MQTT消息接收服务接口
 * @Author : Sherlock
 * @Date : 2023/8/1 17:40
 */
public interface MqttMessageReceiveService {

    /**
     * 订阅主题
     *
     * @param topic 主题
     * @return 是否订阅成功
     */
    boolean subscribe(String topic);

    /**
     * 订阅主题并指定QoS
     *
     * @param topic 主题
     * @param qos QoS级别 (0, 1, 2)
     * @return 是否订阅成功
     */
    boolean subscribe(String topic, int qos);

    /**
     * 取消订阅主题
     *
     * @param topic 主题
     * @return 是否取消成功
     */
    boolean unsubscribe(String topic);

    /**
     * 处理接收到的消息
     *
     * @param topic 主题
     * @param message 消息内容
     */
    void processMessage(String topic, String message);
} 